I am building a document layout editor in NetBeans Visual Library API, and I am looking for a way to let the user rotate a widget about it's center with the mouse. How would I go about adding this functionality?
UPDATE
I think I need to clarify, this is what I want to accomplish:
User clicks on a Widget in my NetBeans Visual Library API based document layout editor
User drags the mouse. As the user drags the mouse the Widget rotates about it's center
User release the mouse button. The Widget remains in the rotated position.
I am not using an NetBeans Platform or an IDE.
Looking at the API doc for Widget, I don't see how it is possible.
There is another approach I can suggest.
extend Widget (the relevant widget you are interested in), add support for rotation. In paintWidget method, add a line
graphicsContext.rotate(angle)
The angle will have to come from your model or user interaction. How you build the user interaction is another exercise, but this approach should work.
If you need something which is already provided, then simply copy the source in your own class and add support for rotation.
If you have already come across a better way, I would be happy to learn about it.
Related
I am planning to implement a screen arrangement view for a desktop Java application. By screen arrangement view, I mean a view that allows to arrange several rectangles around a central rectangle, so that no gaps are allowed, much like the screen arrangement interface in eg macOS or Windows works:
The user would be able to drag the rectangles (except the central one) around and place them somewhere adjacent to another rectangle (that is connected to another rectangle that is connected to another rectangle .... that is connected to the central rectangle). The rectangles would automatically move to a correct spot if dropped at an incorrect spot.
I have experience in Java (Android), but little knowledge of User Interface design on desktop Java. I am using Swing for all UI I have already in my application.
I have done some research but could not find any similar implementation or question on SO.
However, I do not want to reinvent the wheel, so before I start implementing from scratch, I have these questions:
What search terms could I use for further research?
Are there any built-in components I could use as a base?
Is there maybe an open-source component I could use?
Does anyone know an implementation of such a control in any language that I could use as a reference?
How would you implement such a control?
Any help is highly appreciated!
1.What search terms could I use for further research?
One of the search term you can use is drag and drop (and that is what you plan to do).
2.Are there any built-in components I could use as a base?
Java has built in classes for drag and drop. Take a look here: Drag and Drop Turotial
3.Is there maybe an open-source component I could use?
I am sure there are quite a few if you try Googling it. But, personally I don't think you need an open source component to perform your required task. Java Swing already has pretty good classes available which is easy to use and more than enough to handle what you want.
5.How would you implement such a control?
Other than using the DnD from Java, a similar feature can be implemented using custom painting + various listeners such as Mouse motion listener. This way, you set what ever rules you want over the components that is being dragged / clicked / mouse-over. For example.
I am just creating a quick application in which there would be a floating icon on the home and the user have to just drag and drop that icon to the app and then it will show a alert window.
I know how to create the floating icon using some maths and windowmanager but don't know how should i get the name of the app on which the floating icon is dropped. I have thought of some ways to archive this, but don't know how to implement it....
By Getting the position of the touch when ACTION_UP Trigger is occurred and then checking what's the app is by comparing it with its position.
But there is a problem in this way, because i don't know how to get the position of launching icons on the homepage.
Help me to archive this task. Please tell me How can i get the position of launching icon(like facebook, google play) on the homepage . Also it would be very helpful if you can suggest me other ways of doing this.
I know this can be done because winners of techcrunch hackathon have
made the same application. A short video of this can be found here, in
case you might want to look,
http://techcrunch.com/2015/09/20/disrupt-sf-2015-hackathon-winners/
i don't know how to get the position of launching icons on the homepage.
That is not possible in general, outside of perhaps the accessibility APIs.
Please bear in mind that there are > 1 billion Android devices in use. Those span thousands of device models, representing hundreds or thousands of home screen implementations. Users can also install third-party home screen implementations (e.g., from the Play Store) and use those.
There is no requirement that a home screen have "launching icons" that meet your expectations. I could write a home screen whose app launcher consisted of text hyperlinks, for example. Or, I could write a home screen that is designed to be used by an external keyboard, where launching apps is triggered by keypresses rather than icons.
There is no requirement that a home screen have some sort of API that, given some X/Y coordinate on some arbitrary piece of that home screen, would tell you an app that is represented by something visual at that X/Y coordinate.
You are welcome to try using the accessibility APIs to find details of a widget at the desired X/Y coordinate on the current screen. However, from there, you would have to make guesses as to whether or not that is a launcher icon and, if so, what app it would represent. This approach is likely to be unreliable, except for specific scenarios that you have hard-coded. Hard-coding is what the team you cited appears to have done, based on the prose on the TechCrunch site.
I have been looking all day for a simple way to modify the disclosure container to open horizontally rather than vertically, to no avail. I am a beginner Java/ GWT programmer btw.
I have figured out GWT does not directly have a current solution. Additionally, the GWT HorizontalSplitPanel will not suffice. I need a button that the user clicks to close a left side panel of links. When the button is pressed again, it will expand the tab to show the links again.
IOW: i need something similar to what google uses here:
https://groups.google.com/forum/?fromgroups#!overview
(when you click the expand arrow on the left hand side of the page)
I need to make this into a container in GWT, available to put widgets inside and outside of it. Any advice for this? Do I really need to create a Java animation and everything from scratch?
I need this functionality too. Did you come up with a solution? I was thinking we could extend SplitLayoutPanel and add in the button/widget to expand/collapse.
I am attemping to implement drag and drop that is not just an image being dragged around the screen but has interaction between dragged and droppedon object.
in short what I'm trying to achive is:
When i drag one 'source' object and drop it on a 'target' object the 'target' object recieves information about the'source' that was dropped on it
This ( http://rakeshmenonp.wordpress.com/2009/07/20/javafx-drag-and-drop/ ) sample application describes its actions as what I'm looking for however the app doesnt work for me. I was able to build the source (it requires a few modifications, as the yahoo shopping URL no longer works) and with a few alterations get the shopping items to show up. However there is no drag/drop functionality.
Does anyone have any other samples that they could point me toward?
All of my javafx searches for drag and drop come back with apps that just deal with moving an object on the screen, or they use 'canvas' which is no longer supported
thanks, stephanie
There is no standard Drag and Drop support in JavaFX 1.3.1 in the way you want to use it. There was an alpha preview being worked on, but it did not make it into the release. As JavaFX is being totally rewritten it is hard to say what support for DnD will be in the new release.
Check this out I found this after relentless search. the below is a drag and drop example in javafx
http://0divides0.wordpress.com/2010/10/21/image-drag-and-drop/
I'm using Qt Jambi 4.4 for a project I'm working on (and designing the windows in the Qt Designer eclipse plugin). One of the windows I'd like to use is a preview window which is basically just a window with a QWebView on it. How can I make it so that the QWebView resizes as the window does? I've set the sizePolicy to expanding for both Horizontal and Vertical position. What else do I need to do?
(also bear in mind that I'm a newbie to both Java and eclipse and need to be talked to in stupid people terms on both of those subjects)
UPDATE
Just to illustrate the point, here are a couple of screenshots (I've made the window background bright just to illustrate my point):
alt text http://img13.imageshack.us/img13/2103/screenshot2oi7.jpg
alt text http://img152.imageshack.us/img152/6250/screenshot1mz9.jpg
I don't know Jambi, but with Qt Designer just give the background the focus and then apply a layout from the toolbar. Then the main widget will get resized by that layout manager -- if you don't add that layout manager you'll get the widget resizing but the contents staying at their old positions.
I haven't used qt-jambi, but if it is anything like Qt in C++ or PyQt, the QWebView would resize automatically as the window size changes. As far as I know, setting size policies/ expansion factors, adding QSpacerItem objects etc. is only necessary if the sizing behavior is not working right. Just laying it out using an appropriate layout within the preview window should be sufficient. Do let me know if I have misunderstood the question.
You need to place the QWebView in a layout, that it will follow the change in its "container". For using layout with Qt Designer, refer to http://doc.trolltech.com/4.5/designer-layouts.html
From Qt Designer docs:
The form's top level layout can be set by clearing the selection
(click the left mouse button on the form itself) and applying a
layout. A top level layout is necessary to ensure that your widgets
will re-size correctly when its window is re-sized.