我想用Java改变Matlab按钮的外观。为此,我使用了应用程序Findjobj。但是,由于我不了解Java,我很难正确使用Java类,我需要让我的按钮有圆角。根据找到的信息here),我尝试使用BorderFactory类设置按钮:
hButton = uicontrol('string','click me!');
jButton = findjobj(hButton);
jButton.setCursor(java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jButton.setBorder(BorderFactory.createLineBorder(red,1,true));
但这不起作用。我收到以下错误消息:
??? Undefined function or variable 'red'.
Error in ==> de at 4
jButton.setBorder(BorderFactory.createLineBorder(red,1,true));
编辑:我意识到我忘了包含颜色和LineBorder的Java类。修复后,代码如下所示:
import java.awt.Color;
import javax.swing.border.LineBorder;
hButton = uicontrol('Style','pushbutton','String','click me!',...
'Units','normalized','Position',[0.156 0.64 0.688 0.1],'FontSize',9,...
'ForegroundColor','w','BackgroundColor','k');
jButton = findjobj(hButton);
jButton.setCursor(java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jButton.setBorder(LineBorder(Color.white,5,true));
然而,结果仍然不适合我。 Here是最后一次出场。我可以让角落变圆。
答案 0 :(得分:2)
应该是Color.red
或Color.RED
。
请注意,那里使用的BorderFactory
方法仅在Java 1.7(最近)中引入。要使其与1.3版本兼容,请使用直接LineBorder(Color,int,boolean)
构造函数。
答案 1 :(得分:2)