それのためのTextLayoutを行った後のJFrameへのJLabelを追加:(JLabelのが画面に表示されません)
JLabel label = new JLabel("Greetings everyone this is Macklemore");
Font f = label.getFont();
String str = label.getText();
FontRenderContext frc = new FontRenderContext(null, true, true);
TextLayout tl = new TextLayout(str, f, frc);
add(label);
このコードがしますが(JLabelのはありません画面に表示されます):
JLabel label = new JLabel("Greetings everyone this is Macklemore");
Font f = label.getFont();
String str = label.getText();
FontRenderContext frc = new FontRenderContext(null, true, true);
add(label);
TextLayout tl = new TextLayout(str, f, frc);
なぜ、「追加(...)」を妨げるTextLayoutはありますか? (これは、JFrameを拡張しているクラスで進行しています)。私はそれがとにかく働いているので、これは本当に重要ではありませんが、私はまだこれを引き起こしているか分かります。
EDIT:
public class Main {
public static void main(String[] args) {
new Main();
}
public Main() {
new Window(800, 400, "Project");
}
}
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.font.FontRenderContext;
import java.awt.font.TextLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Window extends JFrame {
private static final long serialVersionUID = -8255319694373975038L;
public Window(int width, int height, String title) {
setPreferredSize(new Dimension(width, height));
setMaximumSize(new Dimension(width, height));
setMinimumSize(new Dimension(width, height));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setLocationRelativeTo(null);
setTitle(title);
setVisible(true);
setLayout(new FlowLayout());
JLabel label = new JLabel("Greetings everyone this is Macklemore");
//suggested change
Font f = new Font(label.getFont().getAttributes());
String str = label.getText();
FontRenderContext frc = new FontRenderContext(null, true, true);
TextLayout tl = new TextLayout(str, f, frc);
add(label);
}
}
P.S.:コードの残りの部分は(これは変更が提案されているを含む)、それが動作しない状況で、このようになります。私はこの長いコードを投稿することを本当に嫌いですが、実際にはこの問題に対処する必要があります。
あなたのコード(より具体的には[mcve])を見たいと思います。オブジェクトを作成する方が良いのでなければ、JFrameを拡張してはいけません。 – Frakcool
は私のためにコンテナに問題があるようです。どのコンポーネントにラベルを追加するかははっきりしていません。 – hairsplitter
@hairsplitter私はJFrameに直接追加します – Trashtalk