Changing the min and max value of JSlider depanding on condition

為{幸葍}努か 提交于 2020-01-14 10:31:13

问题


I'm creating a Swing GUI in Netbeans. The purpose of this GUI is to open an (buffered)image (in a JLabel as icon) and apply Affine transforms on it. Now there are 4 transforms that I'm doing as follows.

Now, each transform requires two sliders to change the X and Y value, except that of rotate, which will require only one. I did it this way since its much better than having to do four tabs for all 4 types of transforms. Also I want it to be such that , for example, if an image is rotated, the same rotated image can be sheared by selecting shear from the Drop down list.

The problem is (are): How do i repaint the label icon and apply different transform on the same repainted image? Also, how do i change the minimum and maximum value of JSlider depanding on the effect selected?


回答1:


You should store originally loaded BufferedImage, and create its copy - that way you won't "destroy" it.

As for the changing value there are methods setMaximum and setMinimum - add listener to list, as stated in Oracle tutorial and modify the values.




回答2:


As a concrete example of @Daniel's answer, the article Image processing with Java 2D describes the program ImageDicer. It constructs a TreeMap<String, BufferedImageOp> each of which may be selected from a JComboBox and applied to a BufferedImage.

See also related examples here and here.



来源:https://stackoverflow.com/questions/12807151/changing-the-min-and-max-value-of-jslider-depanding-on-condition

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!