2015-01-27 3 views
-2

겹치는 부분이 뒤바뀔 수 있도록 가장 먼 카드를 가장 먼저 그리고 가장 왼쪽부터 다시 칠하는 방법은 무엇입니까?flowlayout에서 JButton의 겹침 변경

그래서 JButton이 포함 된 flowlayout에 JPanel이 있습니다. 카드를 들고 있다는 느낌을 흉내 내고 싶기 때문에 JButton을 겹쳤습니다. 문제는 JButton의 이미지를 겹쳐서 표시하는 것이므로 오른쪽 아래 모서리에 숫자 만 나타나게하고, 왼쪽 위 모서리에 놓기를 원합니다. 이 내가 지금 무엇을 가지고 :

enter image description here

ZOrdering 작동하지 않았다, 그것은 단지 카드 (다른 쪽 에이스, 첫 번째 왕, 등)의 순서를 반전. 내가 원하는 것은 가장 먼 오른쪽 카드를 가장 먼저 그리고 마지막으로 가장 먼저 긋고 다시 겹쳐서 뒤집을 것입니다.

편집 : 손을 구성하는 코드 :

hand= new JPanel(); 
    hand.setLayout(new FlowLayout(FlowLayout.CENTER, -45, 0)); 
    hand.setOpaque(false); 
    for(int i=0; i<p1.getHand().size(); i++){ 
     JButton te=new JButton(); 
     //button customization, icons and such 
     te.addActionListener(this); 
     //here I tried the ZOrdering that didn't work 
     //hand.setComponentZOrder(te, 0) 
     hand.add(te); 
    } 
    this.add(hand); 
    } 
    //yes, the setBounds is long and weird 
    hand.setBounds(WINDW/2-((p1.getHand().size())*CARDWHAND*2/5), WINDH-CARDHHAND-30, p1.getHand().size()*CARDWHAND*4/5+50, CARDHHAND+30); 

이 레이아웃 매니저는

+1

1) 더 나은 도움을 받으려면 [MCVE] (http://stackoverflow.com/help/mcve) (최소한의 완전한 검증 가능한 예) 또는 [SSCCE] (http://www.sscce.org/) (짧은, 자체 포함, 올바른 예). 2) * "그래서 나는 .."* 질투? 귀하의 질문은 무엇인가? –

+0

죄송합니다. 설명에 명확한 질문이 없습니다. 내 질문은 어떻게 가장 가까운 오른쪽 카드 마지막 및 왼쪽 가장 먼저 겹쳐서 되돌릴 것입니다 그래서 다시 칠해? – halfway258

+0

Andrew는 이미 말했듯이 우리가 작업 할 수있는 MCVE (즉 예제 코드)가 필요합니다. C : – Frakcool

답변

3

체크 아웃이 지원할 수있는 OverlapLayout null입니다.

JButton 대신 JLabel을 사용할 수도 있습니다. 위의 링크를 사용하면 버튼의 잠재적 인 문제점을 설명 할 수 있지만이 문제는 버튼의 테두리를 사용할 때만 발생한다고 생각합니다.