回覆列表
-
1 # 使用者3146671964307
-
2 # 使用者7724478402265
在設定JPanel大小的時候,要用JPanel.setPreferredSize()這個方法才行.然後再用borderLayout就可以設定上下左右的寬度了。setSize()是手動設定組建的大小。Dimension類封裝物件中組建的寬度和高度(精確到整數)。setPreferredSize設定此元件的首選大小 。在用java程式設計時,有時需要設定JPanel的大小,而JPanel的setSize()方法不管用。在使用佈局管理器的時候,可以不適用setSize(),因為佈局管理器會自動呼叫元件的setSize()方法設定元件的大小。即時使用者呼叫setSize方法設定元件大小,最終可能被覆蓋。set(Preferred/Minimal /Maximum)Size() ,他們只是給父元件或佈局管理器他們能得到多少空間的暗示而已,非強制立即執行效果,或透過pack或revalidate(JFrame無)進行效果實現。
因為你的dpi設定太高了,哪有設定1000的。
首先你要明白一個簡單的乘法,dpi的單位是畫素/英寸。
單邊畫素數=單邊長度×dpi,假如一張圖片的寬為1000畫素,如果設定了dpi為1000,那麼打印出來以後,實際的寬度為1英寸(inch)。
新建畫布時,在不列印,單位為畫素的前提下,更改dpi是不影響螢幕顯示的。
新建畫布時,在不列印,單位為釐米的前提下,不同的dpi會建成不同畫素數的畫布。
影象大小裡單位為畫素,不更改畫素的前提下,隨意更改影象大小裡的DPI,不會影響電子裝置中的顯示,但是會影響列印大小,因為長度=畫素÷api。
影象大小裡單位為釐米,不更改釐米的前提下,隨意更改影象大小裡的DPI會影響電子裝置中的顯示,因為畫素=長度×api變了。不會影響列印大小,因為長度(釐米)沒有變。
你按著前提條件自己順一下應該就明白了。
至於你的商稿,我覺得應該諮詢一下甲方實際尺寸和DPI的問題,dpi常見300,最多350,普通列印72就夠了,太高了印表機也識別不了。不過列印的材質還有布料,膠帶,亞克力這種我沒接觸過的東西,最好還是問一下甲方。