2010-01-22 11 views
2

我有一個使用動作構成的JButton,因此這個動作有一個名字是包含HTML。的JButton與HTML命名的動作和記憶

然後我去先解析出的HTML得到的名稱的第一個字符設置在JButton的記憶。

例如,JButton名稱可能是"<html>Test<br>Button</html>",所以在解析html之後,助記鍵應該是「T」。

所以,現在當JButton呈現時,我可以推alt-T來激活按鈕,但T上的下劃線助記符指示符不存在。

會有人知道一種方式來獲得這種情況發生?

回答

1

它您可以通過「設置在一個JButton的mnemomic通過解析HTML」的意思是我不清楚。助記符可以在的JButton通過調用的JButton類中的方法setMnemonic進行設置。我嘗試了下面的一段代碼,當我按Alt+P時,我收到消息I am pressed打印在控制檯中。

public class HTMLButton extends JPanel implements ActionListener { 
    JButton  b1; 
    public HTMLButton() { 
     super(new BorderLayout()); 
     b1 = new JButton("<html><b><u>P</u>ress</b></html>"); 
     b1.setMnemonic(KeyEvent.VK_P); 
     b1.addActionListener(this); 
     add(b1); 
    } 

    public void actionPerformed(final ActionEvent e) { 
     System.out.println("I am pressed"); 
    } 
} 

也看到在Java教程中的部分How to Use HTML in Swing Components

+0

對不起,我想我應該更清楚。我有一個框架,用於顯示在我的應用程序中有按鈕的錯誤消息,因此對於相同的可重用代碼,我所做的是解析html(在您的情況下爲「 P ress」應在其上設置助記符(在這種情況下爲P)。 – 2010-01-24 17:15:29

+0

如果JButton名稱中沒有html,並且設置了助記符,那麼它會自行強調P.然而,在這種情況下,你似乎必須添加html格式來自己做這件事。有沒有辦法讓JButton自己強調,而不是必須把它放在html中。 因爲這可能是我有兩個按鈕,在我的錯誤框架「按
我」的情況下,和「推
我」。在這種情況下,其中一個會爲它設置不同的助記符,我不希望將下劃線與html結合。 – 2010-01-24 17:18:00

+0

我沒有得到你的問題。 代碼「jButton.setMnemonic('P');」已經在P中設置下劃線。在這種情況下,html是不安全的。 – marionmaiden 2010-01-25 12:23:48