我想改變整個 JTextField 的外觀,但仍然希望它是可編輯的。第一張圖片顯示了一個普通的 JTextField,第二張圖片顯示了我想要的樣子。所以基本上它只是一條藍色的水平線而不是整個盒子。


我試圖覆寫 JTextField 的 paintComponent() 方法并用 Graphics 物件繪制一條藍線,但它沒有顯示任何效果。感謝您的幫助,如果這個問題不符合 Stackoverflow 的規則,我們深表歉意。
uj5u.com熱心網友回復:
嘗試在 JTextField上設定自定義邊框或覆寫paintBorder
uj5u.com熱心網友回復:
正如您所說,您可以覆寫paintComponent()。這是簡單 JPanel 中 JTextField 的片段:
JPanel panel = new JPanel();
JTextField textField = new JTextField() {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.BLUE);
g.drawLine(10, getHeight() - 10, getWidth() - 10, getHeight() - 10);
}
};
panel.add(textField);
textField.setPreferredSize(new Dimension(100, 50));
textField.setForeground(Color.BLUE);
textField.setHorizontalAlignment(JTextField.CENTER);
add(panel);
setSize(200, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/498085.html
上一篇:從物件陣列串列中獲取最大值
下一篇:在Java中減少二維陣列
