如何将JButton放在JTextField(Java)中?

Pyr*_*ite 3 java jfilechooser jbutton jtextfield

我希望在JTextField中有一个JButton(带有一个文件夹图标图像),就像在JTextField的最右边一样,这样当单击时,该按钮会打开一个JFileChooser,当选择一个文件时,该路径为该文件出现在JTextField中.

我已经制作了这段代码,但没有显示出来.

public class TextFieldChooser extends JTextField {

    public ImageIcon folderIcon;
    public JButton btnFolder;

    public TextFieldChooser(int columns) {
        super(columns);
        btnFolder = new JButton();
        folderIcon = new ImageIcon(getClass().getResource("/resources/folder_find.png"));
        btnFolder.setIcon(folderIcon);
        this.add(btnFolder);

    }
}
Run Code Online (Sandbox Code Playgroud)

cam*_*ckr 6

您可能会发现组件边框有用.它允许您使用Border API在文本字段中显示按钮.


Tik*_*vis 5

基于Shakedown的建议,我认为你可以相对容易地获得预期的效果.你所做的是JPanel包含文本区域和旁边的按钮.接下来,将文本字段设置为不绘制任何边框并给出JPanel斜角边框.现在它看起来像按钮在文本区域内.它可能需要一些微调,但它应该工作.