파란하늘의 지식창고
반응형

setSize를 하는 방법 아래와 같은 방법이 있다.


setSize(Dimension d) //또는 setSIze(int width, int height)

위 set메소드를 이용하여 applicationContext에서 선언을 하여 호출하면 아래와 같은 에러가 발생한다.

Bean property 'size' is not writable or has an invalid setter method.

setter getter를 이용하기 위해서는 size라는 변수가 있어야 하지만 JFrame에서는 단순히 크기를 세팅해주기 위한 helper 메소드 이기 때문에 이를 이용한 프로퍼티 설정은 불가능하다.

하지만 사이즈를 선언하기 위한 또다른 방법으로 setPreferredSize라는 메소드가 있다.
이는 preferredSize라는 변수에 대한 setter메소드이며 preferredSize는 Dimension 객체이다.
사용은 다음과 같다.

우선 applicationContext에는 다음처럼 사용한다.

<bean id="view.board.main" class="net.bluesky.gui.board.swing.MainJFrame" p:preferredsize-ref="dimension.board.main"> <bean id="dimension.board.main" class="java.awt.Dimension"> 	<constructor-arg value="800" type="int" /> 	<constructor-arg value="600" type="int" /> </bean>

위와 같이 dimension 객체를 preferredSize로 선언해주고 해당 프레임에서는 다음과 같이 호출한다.

if (isPreferredSizeSet()) setSize(getPreferredSize());

preferredSize 객체가 설정되어 있다면 해당 사이즈로 사이즈를 설정한다.

반응형
profile

파란하늘의 지식창고

@Bluesky_

도움이 되었다면 광고를 클릭해주세요