我想在jFrame上創建自定義標題欄。我可以刪除默認的標題欄在JFrame中與如何使用jFrame上的關閉按鈕創建自定義標題欄?
JFrame.setUndecorated(真)
現在我需要創建一個關閉按鈕上的JFrame自定義標題欄。
我想在jFrame上創建自定義標題欄。我可以刪除默認的標題欄在JFrame中與如何使用jFrame上的關閉按鈕創建自定義標題欄?
JFrame.setUndecorated(真)
現在我需要創建一個關閉按鈕上的JFrame自定義標題欄。
而不必做是有史以來,我想我會走這條路:
有可能更好的方法來設置實例。
我不太清楚你要如何自定義關閉按鈕,但也許這可以爲您指出正確的方向:How can I customize the title bar on JFrame?
編輯:下面是關於自定義自己的GUI更新工作鏈接到論壇和一個用戶發佈的代碼,他創建了一個簡單的GUI:Here
看起來你可以修改他的removeComponents方法並創建一個addComponents方法來滿足你的需求。
根據上面的鏈接代碼: (編輯爲Java 8)
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.logging.Level;
import java.util.logging.Logger;
class Testing
{
public void buildGUI() throws UnsupportedLookAndFeelException
{
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame f = new JFrame();
f.setResizable(false);
removeMinMaxClose(f);
JPanel p = new JPanel(new GridBagLayout());
JButton btn = new JButton("Exit");
p.add(btn,new GridBagConstraints());
f.getContentPane().add(p);
f.setSize(400,300);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
btn.addActionListener((ActionEvent ae) -> {
System.exit(0);
});
}
public void removeMinMaxClose(Component comp)
{
if (comp instanceof AbstractButton)
{
comp.getParent().remove(comp);
}
if (comp instanceof Container)
{
Component[] comps = ((Container)comp).getComponents();
for(int x = 0, y = comps.length; x < y; x++)
{
removeMinMaxClose(comps[x]);
}
}
}
public static void main(String[] args)
{
SwingUtilities.invokeLater(() -> {
try {
new Testing().buildGUI();
} catch (UnsupportedLookAndFeelException ex) {
Logger.getLogger(Testing.class.getName()).log(Level.SEVERE, null, ex);
}
});
}
}
可以工作得很好,但如果用戶還希望設置A L什麼&˚F 如靈氣
是的,但那個問題的答案就會引用其他不再適用的鏈接。請發佈直接工作鏈接或刪除此帖子 –