我知道如何以正常方式更改JLabel的字体大小
-- Direct insert
INSERT INTO Table1 (Column1) VALUES ('John’s')
但是,当我以简单的方式将JLabel添加到面板时,我想看看是否有办法做到这一点。喜欢这个..
var cell = tableView.dequeueReusableCellWithIdentifier("CELL", forIndexPath: indexPath)
如果JLabel没有名字,我将如何改变后者的字体大小?
我尝试在JPanel上设置字体,但它不起作用。
exampleLabel.setFont(new Font("", Font.PLAIN, 20));
对此有任何帮助将不胜感激。
答案 0 :(得分:3)
这是一种访问JLabel
的奇怪方式,但这可能有用......
Component[] components = examplePanel.getComponents();
for (Component singleComponent : components) {
if (singleComponent instanceof JLabel) {
JLabel label = (JLabel) singleComponent;
if ("this is an example".equals(label.getText()) {
label.setFont(new Font("", Font.PLAIN, 20));
}
}
}
另一种方法是为要更改的JLabels
创建一个新类。
public class JMyFontLabel extends JLabel {
boolean applyFontChange = false;
public JMyFontLabel(String text, boolean applyFontChange) {
super(text);
this.applyFontChange = applyFontChange;
}
// get / set methods for applyFontChange.
}
// Method to apply font
public void setMyFont(JPanel examplePanel, Font myFont) {
Component[] components = examplePanel.getComponents();
for (Component singleComponent : components) {
if (singleComponent instanceof JMyFontLabel) {
JMyFontLabel label = (JMyFontLabel) singleComponent;
if (label.isApplyFontChange()) {
label.setFont(myFont);
}
}
}
在标签创建时,设置applyFontChange
examplePanel.add(new JMyFontLabel("Name", true));