我如何制作以下窗口:
http://postimage.org/image/61aa8hrvb/
我会用什么格式化?类似于BorderLayout的东西?还有更好的方法吗?
我尝试过使用JFrame,JPanel和JTextArea的组合;如下:
public static void doListAllChecks() {
int transCount = CAObject.getTransCount();
JFrame frame = new JFrame();
frame.setVisible(true);
JPanel content = new JPanel();
for (int idx = 0; idx < transCount; idx++)
{
Transaction tObj = CAObject.getTrans(idx);
if (tObj != null) {
if (tObj.getTransId() == Constants.CHECK_ID)
{
System.out.println("Check ID " + tObj.getTransNumber() +
" Check Amount " + tObj.getTransAmount());
JTextArea textArea = new JTextArea(5,20);
textArea.setText("Check " + tObj.getTransAmount());
content.add(textArea, BorderLayout.EAST);
}
}
}
frame.setContentPane(content);
frame.setTitle("Dialog Display");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
}
我希望生成一个基本且非常简单的窗口样式。我有数据,但我不知道如何生成窗口。
编辑:我不是问如何用数据填充窗口 - 只是如何生成窗口。它似乎只有一个固定的大小(长度和宽度)和边框。这似乎是一个准系统窗口。
你有什么可以想到这种风格的窗户吗?
答案 0 :(得分:2)
这是一个提案(它可以在很大程度上得到改善,但至少,你会有一个起点):
public static void main(String[] args) throws Exception {
String[][] transactions = new String[][] { { "0", "Check", "50.00" }, { "1", "svc.chrg.", "0.15" } };
JDialog f = new JDialog();
JTable table = new JTable(transactions, new String[] { "Id", "Type", "Amount" });
f.add(new JLabel("List all transactions:", JLabel.CENTER), BorderLayout.NORTH);
f.add(new JScrollPane(table));
f.setTitle("Dialog Display");
table.setPreferredSize(new Dimension(table.getPreferredSize().width, table.getRowHeight()
* transactions.length));
f.pack();
f.setSize(470, 120);
f.setLocationRelativeTo(null); // Center on screen
f.setVisible(true);
f.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
}
答案 1 :(得分:1)
答案 2 :(得分:1)
你有什么可以想到这种风格的窗户吗?
您可以尝试setUndecorated(true)
,看here,也可以添加一个像素的边框。