Мне интересно, может ли кто-нибудь придумать обход для следующего макета вопроса, который у меня есть с внешним видом Nimbus
.JButton не отображается в JToolBar при использовании Nimbus look-and-feel
Проблема в том, что кнопка на панели инструментов не видна, так как диспетчер макетов JToolBar
неправильно учитывает ширину JTextField
. Внешний вид Metal
, похоже, не показывает эту ошибку.
import java.awt.*;
import javax.swing.*;
public class TextFieldTest extends JFrame
{
public TextFieldTest()
{
// Create the text field
JTextField textField = new JTextField(20)
{
@Override
public Dimension getMaximumSize()
{
return super.getPreferredSize();
}
};
// Create the tool bar
JToolBar toolBar = new JToolBar();
toolBar.add(textField);
toolBar.add(Box.createHorizontalGlue());
toolBar.add(new JButton("Button"));
// Layout the frame
getContentPane().setLayout(new BorderLayout());
getContentPane().add(toolBar, BorderLayout.NORTH);
setPreferredSize(new Dimension(800, 600));
pack();
}
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
TextFieldTest test = new TextFieldTest();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
test.setVisible(true);
}
});
}
}
Любые предложения приветствуются.
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7171632 – lifelongcoug