0
안녕하세요, 저는 리눅스 플랫폼에서 자바로 슬라이더를 만들었습니다. 그러나 슬라이더는 다른 운영 체제에서 다른 모양과 느낌을주었습니다. 그것을 의미하는 리눅스에서 조금 좋아 보이지만 맥 운영 체제에서 슬라이더가 달라 보입니다. 그래서 어떻게 같은 느낌을주기에 상관없이 코드는 아래와 같습니다 운영 체제자바의 내 슬라이더가 모든 플랫폼에서 동일한 모양과 느낌을 제공하지 않습니다.
내 슬라이더 느낌.
import javax.swing.JFrame; import javax.swing.JSlider; import javax.swing.Timer;
public class Test {
static int percent = 0;
public static void main(String[] args) {
JFrame f = new JFrame();
final JSlider s = new JSlider();
f.getContentPane().add(s);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
Timer time = new Timer(100, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
percent++;
if (percent>100)
percent = 0;
// s.setMajorTickSpacing(10); //s.setMinorTickSpacing(1); //s.setPaintTicks(true); //s.setPaintLabels(true);
// JScrollBar sb = s.getHorizontalScrollBar(); s.setValue((int)(s.getMaximum()*(percent/100.0))); s.setAutoscrolls(true); } }); time.start(); }
}
감사 선일 쿠마 Sahoo
글쎄, 다른 모양과 느낌의 포인트는 다르게 보입니다. 그러나 후광 또는 금속을 체크 아웃, 그들은 모든 플랫폼 – clamp
(당신은 메인 스레드를 포함한 AWT 이벤트 발송 쓰레드 (EDT) 이외의 스레드에서 스윙을 사용하지 않아야합니다, 참고에 거의 같은보고되어있다.의 코드를 감싸 표준적인 범례 :'java.awt.EventQueue.invokeLater (new Runnbale() {public void run() {...}});'. –