我创建了一个像imessage的视图,只需在底部文本视图中输入文本.我使用表视图来执行此操作,并使用最后一个单元格中的文本视图.当我输入多行的长文本时,我需要文本视图,单元格变成了尾部.所以我需要刷新单元格的高度.但如果我使用表视图的重新加载或重新加载行,文本视图中的内容将消失,键盘也将消失.有没有更好的方法来解决它?
可能我应该使用工具栏来轻松完成吗?但我仍然怀疑表视图可以做到这一点.
我目前在一个屏幕上有两个tableview,这导致两个TableView都有用户可以选择的行.
现在我只希望同时选择一行(与从中选择哪个TableView无关).我正在考虑某种类型的侦听器,当选择一行时,该侦听器会取消选择另一行.这是我最初的设置:
步骤1
搜索将方法绑定到行选择的方法(没有类似的东西tableview.setOnRowSelected(method))
步骤2 创建一个类似于一种监听器的方法:当选择一行时,取消选择另一行(我知道如何做这部分)
Class1 selectedObject1 = (Class1)tableview1.getSelectionModel().getSelectedItem();
Class2 selectedObject2 = (Class2)tableview2.getSelectionModel().getSelectedItem();
if(selectedObject1 != null && selectedObject2 != null) {
tableview1.getSelectionModel().clearSelection();
}
Run Code Online (Sandbox Code Playgroud)
所以,第一步就是问题所在.我想到了一个可以在其上创建监听器的可观察列表,然后将所选行添加到列表中.发生这种情况时,侦听器可以调用该方法.任何人都知道如何制作这个?
任何帮助是极大的赞赏.
在我的Java桌面应用程序中,我有一个TableView,其中我想要一个包含CheckBoxes的列.
我确实找到了这个已经完成的地方http://www.jonathangiles.net/javafx/2.0/CellFactories/但由于下载不可用,因为我不知道Jonathan Giles多久会回复我的电子邮件我以为我'请问......
如何将CheckBox放入TableView的单元格中?
我有一个,tableView而且每个tableViewCell都是一个collectionView.
我试图用这段代码更改collectionView大小:
func collectionView(_ collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
sizeForItemAt indexPath: IndexPath) -> CGSize {
if collectionView.tag == 2{
return CGSize(width: 100, height: 100)
}else if collectionView.tag == 4 {
return CGSize(width: 222, height: 200)
}else{
return CGSize(width: 10, height: 10)
}
}
Run Code Online (Sandbox Code Playgroud)
问题是没有错误,但细胞不会改变大小
如果您需要了解更多信息,请撰写评论.
谢谢.
我有一个今天的小部件包含两件事:
UILabelUITableView在我的viewWillAppear设置标签是可见的,我的tableView被隐藏,我将标签文本设置为"正在加载".见下图.

然后我得到一个位置,当这个完成后,我调用另一个方法和
成功完成后,我有一个如下所示的tableView:
.
我现在的问题.
当我打开今天的小部件并点击时viewWillAppear,我并不总是设置我的标签,我得到的唯一结果就是这个
.
所以会发生的事情是我只能在tableView中显示我之前的一些结果.
偶尔会发生这种情况,似乎tableView冻结,我无法更新初始视图,隐藏tableView并显示标签.即使屏幕像这样冻结,一切都在运行,我设法更新tableView和视图.
唯一的问题是当我打开窗口小部件时,屏幕冻结如下:
有时而不是显示我的标签.它的大小原因,是因为我设置了preferredContentSize = CGSizeMake(0, 30).否则我打赌它会显示整个前一个tableView.
有关如何解决此问题的任何想法,以便在我点击时始终更新视图viewWillAppear?
更新
开始另一个赏金,看看是否有关于此问题的其他输入.
我试图使用表视图来呈现/编辑"key = value"对.因此该表应该有两列:"key"和"value".Key只是一个普通的字符串,值可以是任何值.我的问题是值的数据类型可能因行而异.基本上,我想使用复选框作为布尔值和列表选项.我找到了一种方法,通过设置单元格工厂,使用复选框或选项呈现整个表列:
final TableColumn<FieldValue, Field> valueColumn = new TableColumn<>("Value");
valueColumn.setCellFactory(new Callback<TableColumn<FieldValue, Field>, TableCell<FieldValue, Field>>() {
@Override
public TableCell<FieldValue, Field> call(final TableColumn<FieldValue, Field> column) {
// if (value instanceof Boolean)
return new CheckBoxTableCell<>();
}
});
Run Code Online (Sandbox Code Playgroud)
但我需要的是能够根据将要在单元格内呈现的项目类型插入条件.换句话说,某些单元工厂位于单元级别而不是列级别.这会在渲染时评估我的状况.我还没有找到任何解决方案.也许有人有一些适当的技术来实现这种渲染?也许有些第三方数据网格?
链接到问题:JavaFX 2:在TableCell中保存编辑
似乎需要分配管道来建立可编辑的表视图 - 即为每个textField捕获所有事件(获得/失去焦点,从textField中删除,从textField提交编辑到底层数据模型),并覆盖几个TableCell中的方法.
建立编辑的默认行为 - 在单元格中双击 - 对我或标准表格控件的用户来说似乎并不熟悉.我只想点击进入单元格并开始输入,大部分时间.
那里有完整实施的例子吗?请添加你的或评论来设计这样的生物.
我想知道如何使用数据填充TableView ...我看到的所有示例都创建了一个包含列和所有内容的TableView,并将其添加到场景中.全部都是在java代码中完成的.
我想知道的:如果我在JavaFx场景构建器中设计我的"表单".在那里定义所有表和列.如何访问它以从java填充它?或者,如果有人可以指出我正确的教程请.
我在JavaFx Scene Builder中定义了我的表单 - 只有一个包含3列的TableView
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="288.0" prefWidth="293.0" xmlns:fx="http://javafx.com/fxml">
<children>
<TableView fx:id="tableView" layoutX="35.0" layoutY="28.0" prefHeight="200.0" prefWidth="227.0">
<columns>
<TableColumn prefWidth="75.0" text="UserId" fx:id="UserId" />
<TableColumn prefWidth="75.0" text="UserName" fx:id="UserName" />
<TableColumn prefWidth="75.0" text="Active" fx:id="Active" />
</columns>
</TableView>
</children>
</AnchorPane>
Run Code Online (Sandbox Code Playgroud)
我的数据在我的Java代码中的ResultSet中.
ResultSet rs = c.createStatement().executeQuery(SQL);
Run Code Online (Sandbox Code Playgroud)
我需要填充TableView.
谢谢
我有一个按钮和表.现在我想以这样的方式点击:每当我选择任何一行tableview并按下按钮时,该特定按钮按下事件就会发生.为此,首先我给每一行标记,即
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *LabelCellIdentifier = @"cell";
UITableViewCell *cell;
cell = [tableView dequeueReusableCellWithIdentifier:LabelCellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:LabelCellIdentifier];
}
if (indexPath.row <= [_arrayMp3Link count]) {
cell.textLabel.text = [_arrayMp3Link objectAtIndex:indexPath.row];
}
// now tag each row
NSInteger count = 1;
for (NSInteger i = 0; i < indexPath.section; i++) {
count += [[tableView dataSource] tableView:tableView numberOfRowsInSection:i];
}
count += indexPath.row;
// dequeue, create and configure...
cell.tag = …Run Code Online (Sandbox Code Playgroud)