我有这个常见问题,因为它似乎是.重置后,我的表视图不会刷新我的项目.我检查了数据,这是新的数据.
我从互联网尝试了多种解决方案但没有成功.
无法重置所有列,因为它添加了一个空的额外(不知道原因)和调整大小只是破坏.
我的表格不可编辑.新数据已更改.
如果我更改项目的顺序并且行更改(:|),则刷新数据.
我只是没有想法.
目前刷新代码非常简单.
ObservableList<User> data = FXCollections.observableArrayList(User.getResellers());
reseller_table.setItems(data);
Run Code Online (Sandbox Code Playgroud)
新数据再次正确.当我选择tableView时,它返回新的正确Item.
如何设置JTable以便能够将行拖动到表中的不同索引.例如,如果我有5行,我想将第4行拖到第2位?
我正在尝试编写一个断言来检查用户给出的大小是否为正值,如果不是则将其设为正值,此语句位于类构造函数内部,该构造函数采用size值然后生成数组[size].我写了下面的代码,我认为是正确的.
public Grid(int size) {
try{
assert size > 0 ;
}
catch(AssertionError e){
size = Math.abs(size);
}
setLayout(new GridLayout(size, size));
grid = new JButton[size][size];
}
Run Code Online (Sandbox Code Playgroud)
虽然我似乎永远不会评估我的断言并继续该程序然后导致NegativeArraySize错误(我试图避免)
我也试过了
assert size>0;
Run Code Online (Sandbox Code Playgroud)
并且程序无法停止负值.
我最近在mac上运行java时遇到了一些问题,所以我不知道我的代码是否正确,或者它是否只是其中一个奇怪的mac怪癖!并且应该使用
size=Math.abs(size);
Run Code Online (Sandbox Code Playgroud)
谢谢山姆,
我需要删除JTable中的所有行.
我尝试了以下两种方法:
/**
* Removes all the rows in the table
*/
public void clearTable()
{
DefaultTableModel dm = (DefaultTableModel) getModel();
dm.getDataVector().removeAllElements();
revalidate();
}
Run Code Online (Sandbox Code Playgroud)
和
((DefaultTableModel)table.getModel()).setNumRows(0);
Run Code Online (Sandbox Code Playgroud)
两者都不会删除所有行.有任何想法吗?
我已经创建了一个带有JTable的swing GUI,其中有一些行和Columns.我应该如何在JTable中添加一个按钮?
在JavaFX中是否可以更改焦点遍历策略,例如在AWT中?
因为我的两个HBoxes 的遍历顺序是错误的.
似乎Spinner控件在用户明确按Enter键之前不会更新手动键入的值.因此,他们可以键入一个值(不按回车键)退出控件,并提交表单,并且微调器中显示的值不是微调器的值,它是旧值.
我的想法是为丢失的焦点事件添加一个监听器,但我看不到一种获取输入值的方法?
spinner.focusedProperty().addListener((observable, oldValue, newValue) ->
{
//if focus lost
if(!newValue)
{
//somehow get the text the user typed in?
}
});
Run Code Online (Sandbox Code Playgroud)
这是奇怪的行为,它似乎违反了GUI微调控件的惯例.
我正在尝试向JTextArea添加滚动条.有人请告诉我下面的代码我做错了什么?
JFrame frame = new JFrame ("Test");
JTextArea textArea = new JTextArea ("Test");
JScrollPane scrollV = new JScrollPane (textArea);
JScrollPane scrollH = new JScrollPane (textArea);
scrollV.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollH.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
frame.setVisible (true);
Run Code Online (Sandbox Code Playgroud)
先感谢您.
编辑:我修改了下面的Adel Boutros建议的代码.
//FRAME
JFrame frame = new JFrame ("Test");
frame.setSize(500,500);
frame.setResizable(false);
//
//TEXT AREA
JTextArea textArea = new JTextArea("TEST");
textArea.setSize(400,400);
textArea.setLineWrap(true);
textArea.setEditable(false);
textArea.setVisible(true);
JScrollPane scroll = new JScrollPane (textArea);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
frame.add(scroll);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Run Code Online (Sandbox Code Playgroud) 我需要使用ArrayList填充JComboBox.有没有办法做到这一点?
我想在JPanel中画一条线.这是我的GUI,我希望JPanel中的一行是白色的.

我找到很多例子,但问题是如何使用它.
在许多例子中,他们总是画一个从JPanel扩展的JFrame.
我想将面板添加到框架中并添加一些按钮以在多个方向上绘制线条,并使用中心的X按钮来清洁JPanel.
这是界面的代码:
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.Color;
import javax.swing.JScrollPane;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class circuit extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
circuit frame = new circuit();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public …Run Code Online (Sandbox Code Playgroud)