簡體   English   中英

如何更改 JTextField 的整體外觀

[英]How can I change the whole look of a JTextField

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

這是 JTextFields 通常的樣子:

但我希望它看起來像這樣:

我試圖覆蓋 JTextField 的paintComponent() 方法並用Graphics object 繪制一條藍線,但它沒有顯示任何效果。 感謝您的幫助,如果這個問題不符合 Stackoverflow 的規則,我們深表歉意。

嘗試在 JTextField 上設置自定義邊框或覆蓋paintBorder

正如您所說,您可以覆蓋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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM