我目前只能在最后一列添加一列,并删除添加的最后一列.
我试图弄清楚如何添加或删除选定的列,但它只是不适合我.例如,如果我有3列0,1和2,并且我想将列添加到1或删除列1.
我在图书馆呆了一个小时,但我能做的最多就是删除并在选定的地方添加行.
有人可以帮忙吗?
这是我添加列的原因,但它没有做我想要的(只添加到结尾):
String colName = Integer.toString(i++);
if (colName != null && colName.length() > 0) {
model.addColumn(colName);
table.updateUI();
undo.push(new Object[]{"Column", "Add", colName});
redo.clear();
}
Run Code Online (Sandbox Code Playgroud) 我遇到了之前在这里讨论过的一个问题:得到一个JScrollPane包含a JTable来显示我想要的水平滚动条. 这是我试过的帖子,但由于某种原因它似乎不适用于我的情况(我认为这是因为我设置了我的一个列有固定的宽度.
这是一个SSCCE:
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
@SuppressWarnings("serial")
public class TableScrollTest extends JFrame
{
public TableScrollTest() {
DefaultTableModel model = new DefaultTableModel(new Object[]{"key", "value"},0);
model.addRow(new Object[]{"short", "blah"});
model.addRow(new Object[]{"long", "blah blah blah blah blah blah blah"});
JTable table = new JTable(model) {
public boolean getScrollableTracksViewportWidth() {
return getPreferredSize().width < getParent().getWidth();
}
};
table.getColumn("key").setPreferredWidth(60);
table.getColumn("key").setMinWidth(60);
table.getColumn("key").setMaxWidth(60);
table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );
JScrollPane scrollPane = new JScrollPane( table );
getContentPane().add( scrollPane );
}
public static …Run Code Online (Sandbox Code Playgroud) 我正在寻找创建一个自定义TableColumn,这是一个CheckBox控件,表示是否选择了该行。我们不希望使用标准的SHIFT或CONTROL + CLICK来处理此问题,因为用户倾向于无意间单击并丢失选择。
我想做的是以下几点:
在这种情况下,该列不应成为基础数据模型的一部分,而应仅代表选择或不选择的内容。它不应该以任何方式依赖于数据模型。如果用户选中列标题中的复选框,则应选择表中的所有记录(而不仅是可见记录),如果取消选择,则应取消选择所有记录。
有没有办法以这种方式表示选择模型?
我遇到的第二个问题是,我的第一次尝试将不会在SceneBuilder中显示为可选择项,因为(从我的收集中可以看出)TableColumn不是Node,因此似乎在导入时被忽略了吗?
任何帮助将不胜感激。
谢谢
填写javafx tableview时遇到问题.
我目前正在开发一个基于GUI的事件管理工具(用于大学),我不得不尝试填充Tableview列表,它应该位于边框窗格布局的中心.
这是我的代码(很长时间以来,它是主窗口函数):
import java.sql.Date;
import java.sql.SQLException;
import java.util.List;
//--main imports--//
import javafx.application.Application;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.Label;
//--table imports--//
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.control.TableColumn;
import javafx.scene.text.Font;
import javafx.stage.Stage;
public class MainWindow extends Application {
private static Label tableHeadline;
private static TableView table;
private static TableColumn dateCol;
private static TableColumn nameCol;
private static TableColumn numberOfGuestsCol;
private static TableColumn locationCol;
private static BorderPane layout;
//This is just some test data, …Run Code Online (Sandbox Code Playgroud) 如何为TableCell设置转换器以能够编辑Double属性?
<TableColumn fx:id="priceCol" text="Price">
<cellValueFactory>
<PropertyValueFactory property="price" />
</cellValueFactory>
<cellFactory>
<TextFieldTableCell fx:factory="forTableColumn">
<converter>
// ???
</converter>
</TextFieldTableCell>
</cellFactory>
</TableColumn>
Run Code Online (Sandbox Code Playgroud)
在哪里可以找到有关如何使用FXML设置此类文档的文档?到目前为止,这看起来确实令人困惑。
如何获取表的列名、数据类型、大小和注释?
我试过
SELECT all_tab.column_name, all_tab.data_type, all_tab.data_length, col_com.COMMENTS
FROM all_tab_columns all_tab
JOIN user_col_comments col_com ON all_tab.TABLE_NAME = col_com.TABLE_NAME
WHERE all_tab.TABLE_NAME='MY_TABLE'
Run Code Online (Sandbox Code Playgroud)
但它没有用。
我有一个由表生成器构建的基本表。
我只需要增加第一个表列的大小。但是,下面的代码增加了第一列和第四列。
CSS
table.paleBlueRows {
font-family: Arial, Helvetica, sans-serif;
border: 1px solid #FFFFFF;
width: 85%;
height: 200px;
text-align: center;
border-collapse: collapse;
}
table.paleBlueRows td, table.paleBlueRows th {
border: 1px solid #0B6FA4;
padding: 3px 2px;
}
table.paleBlueRows tbody td {
font-size: 13px;
}
table.paleBlueRows td:nth-child(even) {
background: #D0E4F5;
}
table.paleBlueRows thead {
background: #0B6FA4;
border-bottom: 3px solid #FFFFFF;
}
table.paleBlueRows thead th {
font-size: 17px;
font-weight: bold;
color: #FFFFFF;
text-align: center;
border-left: 2px solid #FFFFFF;
border-TOP: 2px solid #FFFFFF;
}
table.paleBlueRows …Run Code Online (Sandbox Code Playgroud) 这是适用于Android的SQLite ...
我正在使用ALTER TABLE tablename ADD COLUMN插入一个新列.
我有两个问题:
有没有办法可以将现有columnA中的值复制到这个新插入/添加的columnB?
我需要添加另一个columnC,其值是columnA的MD5哈希输出.有没有办法SQLite可以添加columnC并将其值设置为MD5哈希(使用现有的SQLite内部函数或我的自定义函数)
更新:此Qustion移动到 TableColumn应该只显示复杂数据类型的一个特定值,因为它更具体
我想填充一个Person包含复杂数据类型的表name,id并且a List<Person>.目前我得到一个表格正确name,id第三列有其他Persons 的全部信息,但它应该只显示Personss 的名称.有没有办法让我的第三列只显示Person.getName()值?
关键词,欢迎解决!非常感谢你!
编辑:代码
Person.class
public class Person {
String id;
String name;
List<Person> friends;
public String getId() {...}
public String getName() {....}
public List<Person> getFriends {...}
}
Run Code Online (Sandbox Code Playgroud)
TableView.class
public TableView<Person> createTable() {
TableColumn<Person, String> firstCol = new TableColumn<>("ID");
TableColumn<Person, String> secondCol = new TableColumn<>("Name");
TableColumn<Person, List<Person> thirdCol = new TableColumn<>("Friends");
PropertyValueFactory<Person, String> firstColFactory = new PropertyValueFactory<>( …Run Code Online (Sandbox Code Playgroud)
我使用带有两个按钮的JTable(活动和非活动按钮).当我点击非活动按钮时,我隐藏了表格的第一列.另外,当我点击"活动"按钮时,我会尝试显示第一列.但问题是,当我点击"活动"按钮时,我无法显示第一列的首选大小.
这是隐藏第一列的代码,
expTable.getColumnModel().getColumn(0).setMinWidth(0);
expTable.getColumnModel().getColumn(0).setMaxWidth(0);
expTable.getColumnModel().getColumn(0).setWidth(0);
Run Code Online (Sandbox Code Playgroud)
这是获取拳头栏的代码,
expTable.getColumnModel().getColumn(0).setMinWidth(0);
expTable.getColumnModel().getColumn(0).setMaxWidth(300);
expTable.getColumnModel().getColumn(0).setWidth(100);
Run Code Online (Sandbox Code Playgroud)
首先,我单击"非活动"按钮,然后单击"活动"按钮.但这不起作用.
有任何想法如何做以上.
private void inactiveButtonActionPerformed(java.awt.event.ActionEvent evt){
expTable.getColumnModel().getColumn(0).setMinWidth(0);
expTable.getColumnModel().getColumn(0).setMaxWidth(0);
expTable.getColumnModel().getColumn(0).setWidth(0);
}
private void activeButtonActionPerformed(java.awt.event.ActionEvent evt)
{
expTable.getColumnModel().getColumn(0).setMinWidth(0);
expTable.getColumnModel().getColumn(0).setMaxWidth(300);
expTable.getColumnModel().getColumn(0).setWidth(100);
}
Run Code Online (Sandbox Code Playgroud) TableColumn tc = new TableColumn();
tc.getStyleClass.add(".style in css file")
Run Code Online (Sandbox Code Playgroud)
我用css文件设置tablecolumn.我想让每个细胞都有不同的背景.有什么办法吗?
tableColumn row 1 bakcground color = green,row2 = red,row3 = blue ....等
tablecolumn ×11
java ×5
tableview ×4
javafx ×3
javafx-8 ×3
jtable ×3
swing ×3
android ×1
copy ×1
css ×1
css-tables ×1
jscrollpane ×1
oracle ×1
sql ×1
sqldatatypes ×1
sqlite ×1
tablecell ×1
uitableview ×1