2009-12-03 6 views
11

jaki jest najprostszy sposób, aby JButton wyświetlał tylko kolor tła? Nie potrzebuję żadnych innych efektów, takich jak granice, wygląd 3D czy podświetlanie kursora.Howto make JButton z prostym, płaskim stylem?

Z góry dziękuję.

+0

Dzięki za odpowiedź. Po kliknięciu przycisku nadal wyświetla się podświetlenie. Reszta jest ok. Jakikolwiek pomysł, jak to zatrzymać, podświetlając ftom? – c0d3x

+0

Możesz to kontrolować, ustawiając własny "ButtonUI". – McDowell

Odpowiedz

2

Jak o

yourButton.setBorder(null); 

?

12

Wystarczy ustawić kolory i obramowania:

private static JButton createSimpleButton(String text) { 
    JButton button = new JButton(text); 
    button.setForeground(Color.BLACK); 
    button.setBackground(Color.WHITE); 
    Border line = new LineBorder(Color.BLACK); 
    Border margin = new EmptyBorder(5, 15, 5, 15); 
    Border compound = new CompoundBorder(line, margin); 
    button.setBorder(compound); 
    return button; 
} 

Zastosowanie setOpaque(false);, aby tło przezroczyste.

1

Zamiast tego możesz użyć JLabel z MouseListener ... chyba że jesteś w jakiś sposób powiązany z JButton lub ActionListener.

+0

To zadziała, ale ma wpływ na ostrość klawiatury/dostępność. – McDowell

23

ja nie wiem, czy nie zostały pominięte punkt ... Ale zazwyczaj nie somtehing tak:

button.setBorderPainted(false); 
button.setFocusPainted(false); 
button.setContentAreaFilled(false); 
+0

setContentAreaFilled (false) to ostatnia rzecz, której mi brakowało, aby przycisk był naprawdę płaski bez ramki - dzięki! – rob

+0

to działa dobrze, teraz jak dodać podkreślenie na JButton? –

0

Najpierw ustaw swój wygląd i poczuć się czegoś chłodnego metalu, jak „”.

try 
{ 
    for (UIManager.LookAndFeelInfo lnf : 
     UIManager.getInstalledLookAndFeels()) { 
     if ("Metal".equals(lnf.getName())) { 
      UIManager.setLookAndFeel(lnf.getClassName()); 
      break; 
     } 
    } 
} catch (Exception e) { /* Lazy handling this >.> */ } 

Następnie zrobić coś takiego:

my_jbutton.setBackground(new Color(240,240,241); 

Jeśli kolor swojej przycisku jest dokładnie równa swing kolor sterowania (240,240,240), okna będą miały zastosowanie windows-Like Button styl przycisku, inaczej przycisk przyjmuje prosty płaski styl.