0
그냥 텍스트가 들어있는 jlabel이 있다고 가정 해 보겠습니다. 그리고 나는 광고판에 텍스트를 실행하는 것처럼 텍스트가 매 초마다 계속 변경되기를 원합니다.jlabel을 사용하여 실행중인 텍스트를 만드는 방법은 무엇입니까?
가능합니까? 그렇다면 어떻게?
그냥 텍스트가 들어있는 jlabel이 있다고 가정 해 보겠습니다. 그리고 나는 광고판에 텍스트를 실행하는 것처럼 텍스트가 매 초마다 계속 변경되기를 원합니다.jlabel을 사용하여 실행중인 텍스트를 만드는 방법은 무엇입니까?
가능합니까? 그렇다면 어떻게?
JLabel
업데이트를 예약하려면 javax.swing.Timer
을 사용해야합니다. 아래의 간단한 코드를 참조하십시오 : AtomicInteger
이 필요하지 않다고
JFrame frame = new JFrame("Test");
frame.setSize(300, 300);
JLabel label = new JLabel("This is text!!!");
frame.add(label);
frame.setVisible(true);
final int labelWidth = 300;
final AtomicInteger labelPadding = new AtomicInteger();
Timer timer = new Timer(20, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
label.setBorder(new EmptyBorder(0, labelPadding.getAndIncrement() % labelWidth, 0, 0));
}
});
timer.start();
참고,하지만 당신은 내부 클래스 또는 람다 내부를 사용할 수 있도록 일부 final
홀더가 필요합니다.
이것은 일반적으로 "선택 윤곽 효과"라고 불리며 다른 모든 것과 마찬가지로 매우 가능합니다. 텍스트 또는 JLabel을 이동하는 방법을 알고 있습니까? – Carcigenicate
예 알아요. –
그런 지식을 마키 지 스크롤 텍스트로 번역하는 것을 어떻게 막을 수 있습니까? – Carcigenicate