小编kle*_*tra的帖子

JavaFX 2.1 TableView刷新项目

我有这个常见问题,因为它似乎是.重置后,我的表视图不会刷新我的项目.我检查了数据,这是新的数据.

我从互联网尝试了多种解决方案但没有成功.

无法重置所有列,因为它添加了一个空的额外(不知道原因)和调整大小只是破坏.

我的表格不可编辑.新数据已更改.

如果我更改项目的顺序并且行更改(:|),则刷新数据.

我只是没有想法.

目前刷新代码非常简单.

ObservableList<User> data = FXCollections.observableArrayList(User.getResellers());
reseller_table.setItems(data);
Run Code Online (Sandbox Code Playgroud)

新数据再次正确.当我选择tableView时,它返回新的正确Item.

java javafx tableview fxml javafx-8

59
推荐指数
5
解决办法
12万
查看次数

如何在JTable中拖放行?

如何设置JTable以便能够将行拖动到表中的不同索引.例如,如果我有5行,我想将第4行拖到第2位?

java mouse swing drag-and-drop jtable

31
推荐指数
2
解决办法
3万
查看次数

断言不起作用

我正在尝试编写一个断言来检查用户给出的大小是否为正值,如果不是则将其设为正值,此语句位于类构造函数内部,该构造函数采用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)

谢谢山姆,

java macos swing osx-snow-leopard

29
推荐指数
2
解决办法
2万
查看次数

删除JTable中的所有行

我需要删除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)

两者都不会删除所有行.有任何想法吗?

java swing jtable

27
推荐指数
7
解决办法
9万
查看次数

如何在Swing java中添加一行JTable中的按钮

我已经创建了一个带有JTable的swing GUI,其中有一些行和Columns.我应该如何在JTable中添加一个按钮?

java swing jtable

26
推荐指数
3
解决办法
8万
查看次数

JavaFX:如何更改焦点遍历策略?

在JavaFX中是否可以更改焦点遍历策略,例如在AWT中?

因为我的两个HBoxes 的遍历顺序是错误的.

java javafx focus javafx-2 javafx-8

25
推荐指数
5
解决办法
3万
查看次数

在JavaFX Spinner中手动输入文本不会更新值(除非用户按下ENTER)

似乎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微调控件的惯例.

java javafx spinner javafx-8

24
推荐指数
2
解决办法
9574
查看次数

添加可滚动的JTextArea(Java)

我正在尝试向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)

java swing

23
推荐指数
4
解决办法
10万
查看次数

如何使用ArrayList填充JComboBox?

我需要使用ArrayList填充JComboBox.有没有办法做到这一点?

java swing arraylist jcombobox

21
推荐指数
3
解决办法
12万
查看次数

在Java中使用按钮单击在JPanel中绘制一条线

我想在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)

java graphics swing line jpanel

19
推荐指数
2
解决办法
4万
查看次数