我想添加JTable到JPanel其布局中null. JPanel包含其他组件.我必须添加JTable适当的位置.
没有空白区域的GUI显得"拥挤".如何在不借助明确设置组件的位置或大小的情况下提供空白区域?
我正在研究一个java教程,看到在GridLayout中找到JButton的x/y索引的方法是遍历与布局关联的按钮b的二维数组,并检查是否
b[i][j] == buttonReference.
@Override
public void actionPerformed(ActionEvent ae) {
JButton bx = (JButton) ae.getSource();
for (int i = 0; i < 5; i++)
for (int j = 0; j < 5; j++)
if (b[i][j] == bx)
{
bx.setBackground(Color.RED);
}
}
Run Code Online (Sandbox Code Playgroud)
是否有更简单的方法来获取按钮的X/Y索引?
就像是:
JButton button = (JButton) ev.getSource();
int x = this.getContentPane().getComponentXIndex(button);
int y = this.getContentPane().getComponentYIndex(button);
Run Code Online (Sandbox Code Playgroud)
this是一个GameWindow实例,ev当用户按下按钮时触发ActionEvent.

在这种情况下,它应该得到:x == 2,y == 1
@ GameWindow.java:
package javaswingapplication;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.*;
import javax.swing.*;
public class …Run Code Online (Sandbox Code Playgroud) 我正在使用NET Beans IDE在LINUX中开发我的应用程序.我使用synthetica包来产生新的外观和感觉.一直都很好.
现在我的下一个阶段是在某些数据库状态发生变化时为按钮添加颜色.
例如:
在一家餐馆,我有2张桌子,当有8个人进来用餐时,我将在我的软件中创建2个桌子,因为人们无人看管我希望这两个桌子的按钮是绿色的.处理任何这些表的订单时,处理表的按钮颜色应更改为橙色.处理时,它应该是闪烁的颜色.如何在java中执行此操作?我将负责数据库更新我只想知道如何更改按钮的颜色和添加闪烁技术.

基本上,我该如何生成这个?我很确定这是一份工作GridBagLayout,但我无法理解如何正确调整'动作窗格'与'菜单栏'的大小.红色和黑色线条表示我相信您将在这种情况下使用的网格(3x3),但我可能完全错误,并且可能有一种方法可以在不同的配置中执行此操作.我试图勾搭的weightx,weighty,gridheight,gridwidth价值观GridBagConstraints,但我不能在这里实现我的目标.
请注意,第二条红线应该恰好是框架下半部分高度的三分之一.
这是我最近的尝试,尝试使用3x6网格(c是GridBagConstraints对象,characterPortraits包含所有肖像,currentScreen是'Action Pane'):
c.fill = GridBagConstraints.BOTH;
c.weightx = 0.25;
c.weighty = (1/6);
c.gridx = 0;
c.gridy = 0;
c.gridheight = 3;
pane.add(characterPortraits.get(0), c);
c.gridx = 2;
pane.add(characterPortraits.get(1), c);
c.gridx = 0;
c.gridy = 3;
c.gridheight = 3;
pane.add(characterPortraits.get(2), c);
c.gridx = 2;
pane.add(characterPortraits.get(3), c);
//c.fill = GridBagConstraints.NONE;
c.weightx = 1.0;
c.weighty = 1.0;
c.gridx = 1;
c.gridy = 0;
c.gridheight = 3;
pane.add(currentScreen, c);
Run Code Online (Sandbox Code Playgroud)
相反,这会在其象限的底部三分之一处生成每个肖像,而动作窗格占据中心列的5/6而不是4/6,就像我想要的那样.任何想法都会有所帮助 谢谢!-B.
编辑:我正在设计此应用程序以具有固定的窗口大小; …