小编Bit*_*ber的帖子

Java setFullScreenWindow()保持在最顶层

我正在编写一个旨在双显示器设置上运行的应用程序,一台显示器上的"Display"JFrame全屏显示,另一台显示器上显示"Control"JFrame,向显示器发送指令.我尝试了两种不同的方法来设置全屏显示; 每个人的成功似乎取决于操作系统.

display.setUndecorated(true);
display.setExtendedState(JFrame.MAXIMIZED_BOTH);
Run Code Online (Sandbox Code Playgroud)

适用于Windows,但JFrame隐藏在OS X和Linux的dock/panels下.

我的另一种方法,利用

GraphicsDevice.setFullScreenWindow(display);
Run Code Online (Sandbox Code Playgroud)

适用于我尝试的所有三个操作系统,但在Windows中,将控制窗口聚焦在另一个监视器上会使显示窗口隐藏,并调用

display.setAlwaysOnTop(true);
Run Code Online (Sandbox Code Playgroud)

不解决问题.我对该GraphicsDevice方法有点偏爱,因为我不必处理OS X或Linux中的问题,我希望Windows问题是一个简单的修复.是吗?

java swing fullscreen jframe

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

将所有JTable单元设置为不可选

我正在尝试创建一个只显示数据的JTable,不允许任何编辑或选择.我通过运行来设置所有单元格是不可编辑的:

TableModel model = new DefaultTableModel(data, titles) {
    public boolean isCellEditable(int rowIndex, int mColIndex) {
        return false;
    }
};
Run Code Online (Sandbox Code Playgroud)

但我现在正试图让所有的细胞都无法选择.我找到了setRowSelectionAllowed允许我在选择单元格时禁用所选行的整个行的方法,但这并没有阻止单元格被选中.我查看了方法,DefaultTableModel但我没有看到任何isCellSelectable方法.有什么建议?

java swing jtable

11
推荐指数
1
解决办法
7737
查看次数

JFrame无法找到'pack'方法

我正在开始Java类,并且赋值要求我编写一个类来表示JPanel,其中按钮用于递增和递减值,而标签用于显示值.然后,我必须创建一个单独的类来实例化面板并将其添加到框架中.我试图通过运行pack方法调整框架大小以适应面板的大小.我尝试使用以下方法调用框架的包方法:

SwingUtilities.getAncestorOfClass(JFrame.class, this).pack()
Run Code Online (Sandbox Code Playgroud)

我得到一个"找不到符号 - 方法包()"错误.getAncestorOfClass肯定会返回一个JFrame,它是正确的JFrame.当我从创建JFrame的驱动程序类内部运行pack方法时,没有问题.任何想法为什么它找不到包方法?是因为我试图从一个单独的类文件中运行它吗?我也无法访问其他一些JFrame的方法,如的getContentPane,但我能够访问其他一些如加.咦?

java user-interface swing jframe

1
推荐指数
1
解决办法
2214
查看次数

标签 统计

java ×3

swing ×3

jframe ×2

fullscreen ×1

jtable ×1

user-interface ×1